From edb930005b0ba83051ca8a59b493e9a3c8ef580a Mon Sep 17 00:00:00 2001
From: Chris Feng <chris.w.feng@gmail.com>
Date: Sun, 14 Jun 2020 00:00:00 +0000
Subject: [PATCH] Fix fullscreen states

* exwm-layout.el (exwm-layout-set-fullscreen,
exwm-layout-unset-fullscreen): Use `exwm--id' for interactive use.
(exwm-layout-unset-fullscreen): Mandatorily clear fullscreen states.
---
 exwm-layout.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/exwm-layout.el b/exwm-layout.el
index 170c2be..79d0c95 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -205,7 +205,7 @@
                        :border-width 0
                        :stack-mode xcb:StackMode:Above))
     (cl-pushnew xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state)
-    (exwm-layout--set-ewmh-state id)
+    (exwm-layout--set-ewmh-state exwm--id)
     (xcb:flush exwm--connection)
     (set-window-dedicated-p (get-buffer-window) t)
     (exwm-input--release-keyboard exwm--id)))
@@ -233,7 +233,9 @@
       (let ((window (get-buffer-window nil t)))
         (when window
           (exwm-layout--show exwm--id window))))
-    (exwm-layout--set-ewmh-state id)
+    (setq exwm--ewmh-state
+          (delq xcb:Atom:_NET_WM_STATE_FULLSCREEN exwm--ewmh-state))
+    (exwm-layout--set-ewmh-state exwm--id)
     (xcb:flush exwm--connection)
     (set-window-dedicated-p (get-buffer-window) nil)
     (when (eq 'line-mode exwm--selected-input-mode)
-- 
2.26.2

